<?php
    include_once ("MySql.php");
    include_once ("../entity/Proveedor.php");
    
    class ProveedorDA extends dal{
        public function ProveedorDA(){
            parent::dal();
        }
        public function validarEliminar($codigo){
            $sql = "CALL SGLSS_VALIDAR_ELIMINAR_PROVEEDOR('$codigo')";
            $result = parent::ejecutar($sql);
            while ($fila = mysqli_fetch_object($result)){
                $num_row = $fila->num_row;
            }
            return $num_row;
        }
        public function editar($entity){
            $codigo_alterno = strtoupper($entity->codigo_alterno);
            $descripcion = strtoupper($entity->descripcion);
            $direccion = strtoupper($entity->direccion);
            $contacto = strtoupper($entity->contacto);
            $departamento = strtoupper($entity->departamento);
            $provincia = strtoupper($entity->provincia);
            $distrito = strtoupper($entity->distrito);
            
            $sql = "CALL SGLSU_PROVEEDOR('$entity->codigo',"
                    ."'$codigo_alterno',"
                    ."'$descripcion',"
                    ."'$direccion',"
                    ."'$entity->telefono',"
                    ."'$contacto',"
                    ."'$entity->ruc',"
                    ."'$departamento',"
                    ."'$provincia',"
                    ."'$distrito',"
                    ."'$entity->estado',"
                    ."'$entity->usuario_modi')";
            
            $result = parent::ejecutar($sql);
            
            if($result){
                return true;
            }else{
                return false;
            }
                  
        }
        public function eliminar($entity){
            $sql = "CALL SGLSD_PROVEEDOR('$entity->codigo')";
            $result = parent::ejecutar($sql);
            if($result){
                return true;
            }else{
                return false;
            }
        }
        public function obtenerID($entity){
            $sql = "CALL SGLSS_PROVEEDOR_X_COD('$entity->codigo')";
            $result = parent::ejecutar($sql);
            
            while ($fila = mysqli_fetch_object($result)){
                $obj = new Proveedor();
                $obj->codigo = $fila->codigo;
                $obj->codigo_alterno = $fila->codigo_alterno;
                $obj->descripcion = $fila->descripcion;
                $obj->direccion = $fila->direccion;
                $obj->telefono = $fila->telefono;
                $obj->contacto = $fila->contacto;
                $obj->ruc = $fila->ruc;
                $obj->departamento = $fila->departamento;
                $obj->provincia = $fila->provincia;
                $obj->distrito = $fila->distrito;
                $obj->estado = $fila->estado;
            }
            return $obj;
        }
        public function insertar($entity){
            $codigo_alterno = strtoupper($entity->codigo_alterno);
            $descripcion = strtoupper($entity->descripcion);
            $direccion = strtoupper($entity->direccion);
            $contacto = strtoupper($entity->contacto);
            $departamento = strtoupper($entity->departamento);
            $provincia = strtoupper($entity->provincia);
            $distrito = strtoupper($entity->distrito);
            
            $sql = "CALL SGLSI_PROVEEDOR('$codigo_alterno',"
                    ."'$descripcion',"
                    ."'$direccion',"
                    ."'$entity->telefono',"
                    ."'$contacto',"
                    ."'$entity->ruc',"
                    ."'$departamento',"
                    ."'$provincia',"
                    ."'$distrito',"
                    ."'$entity->estado',"
                    ."'$entity->usuario_crea')";
            $result = parent::ejecutar($sql);
            
            if($result){
                return true;
            }else{
                return false;
            }
        }
        public function generarCodigo(){
            $sql = "CALL SGLSS_PROVEEDOR_CODIGO";
            $result = parent::ejecutar($sql);
            
            while ($fila = mysqli_fetch_object($result)){
                $obj = new Proveedor();
                $obj->codigoNuevo = $fila->codigoNuevo;
            }
            return $obj;
        }
        public function numeroRegistro($codigo_alterno,$descripcion,$estado){
            $sql = "CALL SGLSS_CUENTA_PROVEEDOR('$codigo_alterno','$descripcion','$estado')";
            $result = parent::ejecutar($sql);
            $num_row=0;
            while($fila = mysqli_fetch_object($result)){
                $num_row= $fila->num_row;
            }
            return $num_row;
        }
        public function BuscarSearch($entity, $start , $limit,$sidx,$sord){
            $sql = "CALL SGLSS_PROVEEDOR_SEARCH('$entity->codigo_alterno',"
                    . "'$entity->descripcion',"
                    . "'$entity->estado',"
                    . "'$start' ,"
                    . "'$limit',"
                    . "'$sidx',"
                    . "'$sord')";
            $result = parent::ejecutar($sql);
            while($fila = mysqli_fetch_object($result)){
                $obj = new Proveedor();
                $obj->codigo = $fila->codigo;
                $obj->codigo_alterno = $fila->codigo_alterno;
                $obj->descripcion = $fila->descripcion;
                $obj->direccion = $fila->direccion;
                $obj->telefono = $fila->telefono;
                $obj->contacto = $fila->contacto;
                $obj->ruc = $fila->ruc;
                $obj->departamento = $fila->departamento;
                $obj->provincia = $fila->provincia;
                $obj->distrito = $fila->distrito;
                $obj->estado = $fila->estado;
                $obj->estado_descri = $fila->estado_descri;
                $proveedor[] = $obj;
            }
            return $proveedor;
        }
    }
?>
